<?php

//require_once '../defs/constants.php';
require_once FILE_DB_DATABASE;

class DbRisicogebied extends Database{
    
    /**
     * Het ID van risicoaandachtsgebied die wordt opgeslagen zodat deze gekoppeld word
     * met een risicogebied.
     * @var int $risicoaandachtsgebied_id 
     */
    private $risicoaandachtsgebied_id = '';
    /**
     * Het ID van risicogebied
     * @var int $risico_id
     */
    private $risico_id = '';
    /**
     * Hierin komt te staan of het risicogebied aanwezig is of niet
     * @var type 
     */
    private $aanwezig = '';
    /**
     * Het risicogebied. Gemaakt door Trinco
     * @var type
     */
    private $risico_gebied = '';
    /**
     * Het risico_gebied_id is het laatst ingevoerde id. Deze wordt ingevuld 
     * wanneer de save-functie wordt aangeroepen zodat deze later gebruikt
     * kan worden om risico's op te slaan
     * 
     * @var int $risico_gebied_id 
     */
    private $risico_gebied_id = '';
    /**
     * array_actie_id
     * @var array $array_actie_id
     */
    private $array_actie_id = array();
    /**
     * De constructor van DbRisicogebied
     * @param int $id 
     */
    public function DbRisicogebied($id= ''){
        
        parent::__construct();
        // If risico id get risico data
        if (!empty ($id)){
            $this->DbGetRisicogebiedData($id);
        }
    }

    /**
     * 
     * @param int $sjabloon_versie_id
     * @param String $risicogebied_naam
     * @param String $risicogebied_beschrijving
     * @param int $risicoaandachtsgebied_id
     * @return boolean 
     */
    public function save ( $sjabloon_versie_id, $risicogebied_naam, $risicogebied_beschrijving, $risicoaandachtsgebied_id){
        
        $query = "INSERT INTO `tpl_risico_gebied` (`risico_gebied_id`, `risico_gebied_naam`, `risico_gebied_beschrijving`, `risico_aandachtsgebied_id`) VALUES ('" . $this->risico_gebied_id . "', '" . $risicogebied_naam . "' , '" . $risicogebied_beschrijving . "', '" . $risicoaandachtsgebied_id . "')";
        //Als de query niet werkt, returned hij false.        
        if(!$this->dbquery($query)){
            
            echo(DB_TPL_ERROR_INSERT_RAG);
            return false;
        
        }
        //Zet het laatst ingevulde id in $risico_gebied_id       
        $this->risico_gebied_id = mysql_insert_id();
	//Query voor de versie	
        $query2 = "INSERT INTO `tpl_risico_gebied_versie` (`risico_aandachtsgebied_id`, `sjabloon_versie_id`, `risico_gebied` )VALUES ('" . $risicoaandachtsgebied_id . "', '" . $sjabloon_versie_id . "', '" . $this->risico_gebied_id . "' )";
        //Als de Query niet werkt krijg je een foutmelding en wordt false ge-returned	
        if(!$this->dbquery($query2)){
            
            
            echo(DB_TPL_ERROR_INSERT_RAG);
            return false;
        
        }  
            
    }
    
    
    /**
     * Getter van risico_id
     * @return int $risico_id 
     */
    public function getRisico_id(){
        
        return $this->risico_id;
    }
    /**
     * Get functie van risicoaandachtsgebied_id
     * @return int $risicoaandachtsgebied_id 
     */
    public function getRisicoaandachtsgebied_id(){
        
        return $this->risicoaandachtsgebied_id;        
    }
    /**
     * Get functie die teruggeeft of een risicogebied aanwezig is of niet
     * @return boolean $aanwezig
     */    
    public function getAanwezig(){
        
        return $this->aanwezig;
    }
    /**
     * Get functie van het risico_gebied
     * @return String $risico_gebied
     */
    public function getRisico_gebied(){
        
        return $this->risico_gebied;
    }
    /**
     * Get functie van risico_gebied_id
     * @return int $risico_gebied_id
     */
    public function getRisico_gebied_id(){
        
        return $this->risico_gebied_id;
    }
    /**
     * Deze functie update het risicogebied
     * @param String $nieuweactie
     * @return boolean 
     * @todo zorgen dat deze functie goed update
     */
    public function updateRisicogebied($nieuweactie){
	
		// check of actie_id bestaat of return false
		if(empty($this->Risicoaandachtsgebied_id)) return false;
		// update actie in database
						   
		$query = "UPDATE `risicogebied` SET risicogebied = '". $nieuweactie . "' WHERE risicoaandachtsgebied_id = '" . $this->risicoaandachtsgebied_id  . "'";
		mysql_query($query);
		$this->risicogebied = $nieuweactie;
		
		if (DEBUG_LVL & DEBUG_LVL_QUERY)  echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';
		return true;
		
	}
    /**
     * Deze functie verwijderd een risicogebied uit de database
     * @return boolean 
     */
	public function deleteRisicogebied(){
	
		// check of actie_id bestaat of return false
		if(empty($this->Risico_id)) return false;
		// update actie in database
		//UPDATE `cofely2`.`actie` SET `actie` = 'nieuwe actie' WHERE `actie`.`actie_id` =32 LIMIT 1 ;
						   
		$query = "DELETE FROM `risicogebied` WHERE risicoaandachtsgebied_id = '" . $this->risicoaandachtsgebied_id  . "'";
		mysql_query($query);
		
		$this->risicoaandachtsgebied_id = '';
		$this->risico_id = '';
		$this->aanwezig = '';
		$this->risico_gebied = '';
		
		if (DEBUG_LVL & DEBUG_LVL_QUERY)  echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';
		return true;
		
	}
    /**
     * getter van risicogebied_array. Deze haalt dus een array op
     * @return array $array_risicogebied_id
     */    	
    public function getRisicogebiedArray(){
		return $this->array_risicogebied_id;
	}
    /**
     * Deze functie haalt alle data van een risicogebied uit de database
     * @param int $id 
     */
    private function DbGetRisicogebiedData($id){
        
        $query = "SELECT risicoaandachtsgebied_id, aanwezig, risico_gebied FROM risicogebied WHERE risico_id = '" . $id . "' LIMIT 1 ";
		$result = mysql_query($query);
        $res = mysql_fetch_object($result);
        
        //$this->actieid = $res->actie_id;
        $this->risico_id = $id;
        $this->risicoaandachtsgebied_id  = $res->risicoaandachtsgebied_id ;
        $this->aanwezig = $res->aanwezig;
		$this->risico_gebied = $res->risico_gebied;
		
        if (DEBUG_LVL & DEBUG_LVL_QUERY)  echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';
		
		
		//Haal de actie's uit de database die bij deze maatregel horen.
		//query maken
		 $query = mysql_query("SELECT risico_id, aanwezig, risico_gebied FROM risicogebied WHERE risicoaandachtsgebied_id = '" . $id . "' LIMIT 1 ");
		while ($row = mysql_fetch_array($query) ){
		
			//$this->array_preventieve_maatregel_id[$row['preventieve_maatregel_id'] = $row['preventieve_maatregel']];
		}
    }
    
    public function __destruct() {
        parent::__destruct();
    }
}
?>